var baseURL = "/";

function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return decodeURI(r[2]);
    return "";
}

//jquery全局配置
$.ajaxSetup({
    dataType: "json",
    cache: false,
    /*headers: {
        "token": token
    },*/
    complete: function(xhr) {

    }
});

// 时间格式化
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "H+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

(function(window, undefined){
    var config={
        expire : 60 * 24,  //缓存数据默认十分钟失效
        debug  : false
    };

    function setCache(key,obj){
        var data = JSON.stringify(obj);
        var time = new Date().getTime();
        var jsonData={"data":obj,"cacheTime":time};
        if(config.debug){
            console.log("设置缓存数据："+data);
        }
        return localStorage.setItem(key, JSON.stringify(jsonData));
    }

    function getCache(key){
        if(!key){
            if(config.debug){
                console.log("key为空，key=【"+key+"】");
            }
            return "";
        }
        var jsonData=JSON.parse(localStorage.getItem(key));
        if(!jsonData){
            if(config.debug){
                console.log("【"+key+"】缓存的数据不存在");
            }
            return "";
        }
        var nowDate=new Date().getTime();
        var cacheTime=new Date(jsonData.cacheTime).getTime();
        if(apartMinutes(cacheTime,nowDate)>config.expire){
            if(config.debug){
                console.log("超过"+config.expire+"分钟 ,【"+key+"】缓存失效!");
            }
            return "";
        }
        if(config.debug){
            console.log("【"+key+"】获取到的缓存数据："+jsonData.data);
        }
        return jsonData.data;
    }


    function apartMinutes(date1,date2){
        var date3=date2 - date1;
        var minutes=Math.floor(date3/(60*1000));
        if(config.debug){
            console.log("数据已缓存时间："+minutes+"分钟");
        }
        return minutes;
    }

    var cache =  {
        getCache: getCache,
        setCache: setCache,
        configCache: function(obj) {
            $.extend(config, obj);
        }
    };

    window.jQuery && ($.extend(window.jQuery, cache));

})(window);